From 23c5ebafcee720d608d5c8f86c89816686e8d057 Mon Sep 17 00:00:00 2001 From: Cosimo Cecchi Date: Wed, 11 Jul 2012 11:22:20 -0400 Subject: [PATCH] cellrendererpix: set the IMAGE style class when rendering an icon This way, themes can change symbolic icon colors for views, by using a .view.image { } CSS selector. https://bugzilla.gnome.org/show_bug.cgi?id=680008 --- gtk/gtkcellrendererpixbuf.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gtk/gtkcellrendererpixbuf.c b/gtk/gtkcellrendererpixbuf.c index 5a3d90209f..2e36915585 100644 --- a/gtk/gtkcellrendererpixbuf.c +++ b/gtk/gtkcellrendererpixbuf.c @@ -415,12 +415,19 @@ gtk_cell_renderer_pixbuf_get_size (GtkCellRenderer *cell, gint calc_width; gint calc_height; gint xpad, ypad; + GtkStyleContext *context; + + context = gtk_widget_get_style_context (widget); + gtk_style_context_save (context); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_IMAGE); if (!_gtk_icon_helper_get_is_empty (priv->icon_helper)) _gtk_icon_helper_get_size (priv->icon_helper, gtk_widget_get_style_context (widget), &pixbuf_width, &pixbuf_height); + gtk_style_context_restore (context); + if (priv->pixbuf_expander_open) { pixbuf_width = MAX (pixbuf_width, gdk_pixbuf_get_width (priv->pixbuf_expander_open)); @@ -516,6 +523,7 @@ gtk_cell_renderer_pixbuf_render (GtkCellRenderer *cell, state = gtk_cell_renderer_get_state (cell, widget, flags); gtk_style_context_set_state (context, state); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_IMAGE); g_object_get (cell, "is-expander", &is_expander, NULL); if (is_expander) -- 2.30.2